/*
 * Copyright 2002-2019 Intel Corporation.
 * 
 * This software is provided to you as Sample Source Code as defined in the accompanying
 * End User License Agreement for the Intel(R) Software Development Products ("Agreement")
 * section 1.L.
 * 
 * This software and the related documents are provided as is, with no express or implied
 * warranties, other than those that are expressly stated in the License.
 */

#include "regvalues.h"

unsigned char fpSaveArea[FPSAVEAREASIZE] = { 0 };

// Application register values
const unsigned char gprval[GPRSIZEMAX] =        { 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88 };
const unsigned char * gpr32val = &gprval[0];
const unsigned char * gpr16val = &gprval[0];
const unsigned char * gprlval = &gprval[0];
const unsigned char * gprhval = &gprval[1];
const unsigned char stval[STSIZE] =             { 0x00, 0xc8, 0x95, 0x04, 0xe6, 0x3d, 0xa1, 0xc3, 0xf8, 0x3f };
const unsigned char xmmval[XMMSIZE] =           { 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
                                                  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc };
const unsigned char ymmval[YMMSIZE] =           { 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
                                                  0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
                                                  0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
                                                  0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd };
const unsigned char zmmval[ZMMSIZE] =           { 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
                                                  0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
                                                  0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
                                                  0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
                                                  0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
                                                  0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
                                                  0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
                                                  0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee };
const unsigned char opmaskval[OPMASKSIZE] =     { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

// Tool register values
const unsigned char tgprval[GPRSIZEMAX] =       { 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0 };
const unsigned char * tgpr32val = &tgprval[0];
const unsigned char * tgpr16val = &tgprval[0];
const unsigned char * tgprlval = &tgprval[0];
const unsigned char * tgprhval = &tgprval[1];

const unsigned char tstval[STSIZEALIGNED] =     { 0x00, 0xc0, 0x2c, 0x70, 0x7c, 0xc4, 0x8b, 0xde, 0xfc, 0x3f };
const unsigned char txmmval[XMMSIZE] =          { 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
                                                  0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3 };
const unsigned char tymmval[YMMSIZE] =          { 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4,
                                                  0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4,
                                                  0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4,
                                                  0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4 };
const unsigned char tzmmval[ZMMSIZE] =          { 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
                                                  0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
                                                  0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
                                                  0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
                                                  0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
                                                  0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
                                                  0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
                                                  0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5 };
const unsigned char topmaskval[OPMASKSIZE] =    { 0xf6, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

// Modified application register values
unsigned char agprval[GPRSIZE] = { 0 };
unsigned char astval[STSIZE] = { 0 };
unsigned char axmmval[XMMSIZE] = { 0 };
unsigned char aymmval[YMMSIZE] = { 0 };
unsigned char azmmval[ZMMSIZE] = { 0 };
unsigned char aopmaskval[OPMASKSIZE] = { 0 };
